import request from '@/config/axios'

// 仓库管理 -> 仓库维护记录表(应急物资管理系统) VO
export interface WarehouseMaintenanceVO {
  id: number // 主键ID
  warehouseId: number // 仓库ID，关联wms_warehouse表
  maintenanceCode: string // 维护单编号
  maintenanceType: string // 维护类型(定期检查/设备维修/安全检测/清洁保养/应急演练)
  maintenanceUnit: string // 维护单位名称
  maintenanceContact: string // 维护联系人
  contactPhone: string // 联系电话
  maintenanceDate: Date // 维护日期
  startTime: Date // 维护开始时间
  endTime: Date // 维护结束时间
  maintenanceStatus: string // 维护状态(待维护/已完成/已取消)
  maintenanceResult: string // 维护结果说明
  problemsFound: string // 发现的问题
  correctiveActions: string // 整改措施
  attachmentUrl: string // 附件URL
  approverId: number // 审批人ID
  approvalStatus: string // 审批状态(待维护/已完成/已取消)
  approvalTime: Date // 审批时间
  approvalComment: string // 审批意见
  startUserSelectAssignees: any // 发起人选择审批人的数据
  processInstanceId: string // 流程编号
}

// 仓库管理 -> 仓库维护记录表(应急物资管理系统) API
export const WarehouseMaintenanceApi = {
  // 查询仓库管理 -> 仓库维护记录表(应急物资管理系统)分页
  getWarehouseMaintenancePage: async (params: any) => {
    return await request.get({ url: `/wms/warehouse-maintenance/page`, params })
  },

  // 查询仓库管理 -> 仓库维护记录表(应急物资管理系统)详情
  getWarehouseMaintenance: async (id: number) => {
    return await request.get({ url: `/wms/warehouse-maintenance/get?id=${id}` })
  },

  // 新增仓库管理 -> 仓库维护记录表(应急物资管理系统)
  createWarehouseMaintenance: async (data: WarehouseMaintenanceVO) => {
    return await request.post({ url: `/wms/warehouse-maintenance/create`, data })
  },

  // 修改仓库管理 -> 仓库维护记录表(应急物资管理系统)
  updateWarehouseMaintenance: async (data: WarehouseMaintenanceVO) => {
    return await request.put({ url: `/wms/warehouse-maintenance/update`, data })
  },

  // 删除仓库管理 -> 仓库维护记录表(应急物资管理系统)
  deleteWarehouseMaintenance: async (id: number) => {
    return await request.delete({ url: `/wms/warehouse-maintenance/delete?id=${id}` })
  },

  // 导出仓库管理 -> 仓库维护记录表(应急物资管理系统) Excel
  exportWarehouseMaintenance: async (params) => {
    return await request.download({ url: `/wms/warehouse-maintenance/export-excel`, params })
  },
}
